<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        // 要求允许函数调用时传入任意个数参数,
        // 并且函数返回这些数字中最大的数字.

        // 函数内部的一个对象 arguments
		// 当函数调用的时候,系统会将所有传入的实参,一次存入这个数组对象
		
		function max() {
			// console.log(arguments);
			var maxNum = arguments[0];
			for (var i = 1; i < arguments.length; i++) {
				maxNum = maxNum > arguments[i] ? maxNum : arguments[i];
			}
			return maxNum;
		}
		
		console.log(max(1,2,34,5,6));
		
		// 练习: 使用Function 创建一个函数,
		// 给函数传入任意个数的参数,
		// 在函数内进行去重操作,然后返回去重后的数组
		
		// var distinct = new Function(`
		// 	var arr = [];
		// 	for(var i = 0; i < argument.length; i++) {
		// 		if(arr.indexOf(arguments[i])==-1){
		// 			arr.push(arguments[i]);
		// 		}
		// 	}
		// 	return arr;
		// `);
		
		var distinct = new Function(`
			var arr = [];
			for(var i = 0; i < arguments.length; i++) {
				if(arr.indexOf(arguments[i]) == -1) {
					arr.push(arguments[i]);
				}
			}
			return arr;
		`);
		
		// console.log(distinct(1,2,43,34,5,5,2));
		
		function test(a,b) {
			console.log(a,b);
			console.log(arguments);
		}
		test();
		
		// 1.一个函数有形参的时候,调用的时候,可以不传参
		// 2.一个函数没有形参的时候,调用时候,可以传参 arguments对象
		// 3.一个函数不管有没有形参,调用的时候都会把实参的值存入arguments对象
    </script>
</head>
<body>

</body>
</html>